Skip to content

Conversation

@redreceipt
Copy link
Member

@redreceipt redreceipt commented Dec 20, 2025

Summary

  • Apply npm audit fix and upgrade ESLint to 9 with Next.js flat config.
  • Resolve lint errors related to form values, prop mutation, and effect state updates.
  • Address lint warnings (a11y, hooks deps, display names, Link usage).

Testing

  • npm run lint

Vercel Preview Validation Plan (E2E Click-Around)

  • Home: load, scroll, verify hero + CTA buttons; click a few nav items and ensure pages render.
  • Auth modal: open sign-in, submit invalid/valid identity, verify transitions.
  • Content pages: open a universal content item, ensure HTML renders and links work (including my.longhollow.com links if authenticated).
  • Watch: open /watch, verify primary/secondary buttons, click a message card, load more videos.
  • Profile: open profile page, confirm sign-in redirect/modal behavior, verify form fields update and save.
  • Video player: open a page with video, verify play/pause and controls show/hide.
  • Global: ensure no console errors; 404 page renders.

@vercel
Copy link

vercel bot commented Dec 20, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
longhollow-web Ready Ready Preview, Comment Dec 20, 2025 4:13am

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 45 to +46
return () => player?.dispose();
}, [src]);
}, [autoplay, controls, fluid, onError, options, player, src]);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Video player disposed on every parent rerender

The useEffect now depends on onError and returns a disposer, so any parent rerender that recreates the handler (e.g., onError={() => setPlayerError(true)} in MediaContentItem) triggers the cleanup, disposes the player, and then re-enters the effect with the stale player reference still truthy. Because no new player is created, the subsequent player.src call runs on a disposed instance, causing playback to stop or throw as soon as the parent component updates state (selecting a carousel item, handling errors, etc.).

Useful? React with 👍 / 👎.

@redreceipt redreceipt merged commit 1e976ea into main Dec 20, 2025
4 checks passed
@redreceipt redreceipt deleted the chore/npm-audit-eslint9 branch December 20, 2025 04:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants